home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
PWAPG10.ZIP
/
678.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-08-16
|
3KB
|
311 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
Byte BYTE001
Byte BYTE002
Byte BYTE003
Byte BYTE004
Byte BYTE005
Byte BYTE006
Byte BYTE007
;------------------------------------------------------------------------------
Gosub LABEL009
Gosub LABEL008
Gosub LABEL001
End
:LABEL001
Gosub LABEL004
BYTE007 = 5
Gosub LABEL006
BOOLEAN001 = 0
While (BOOLEAN001 == 0) Do
STRING012 = Asc(Inkey())
If (STRING012 == 13) Then
Gosub LABEL005
Continue
Endif
If ((STRING012 == 76) || (STRING012 == 44)) Then
Gosub LABEL007
Dec BYTE007
If (BYTE007 < 1) BYTE007 = 5
Gosub LABEL006
Continue
Endif
If ((STRING012 == 82) || (STRING012 == 46)) Then
Gosub LABEL007
Inc BYTE007
If (BYTE007 > 5) BYTE007 = 1
Gosub LABEL006
Continue
Endif
If ((STRING012 == 72) || (STRING012 == 104)) Then
Gosub LABEL007
BYTE007 = 1
Gosub LABEL003
Continue
Endif
If ((STRING012 == 68) || (STRING012 == 100)) Then
Gosub LABEL007
BYTE007 = 2
Gosub LABEL006
BOOLEAN001 = 1
Continue
Endif
If ((STRING012 == 85) || (STRING012 == 117)) Then
Gosub LABEL007
BYTE007 = 3
Gosub LABEL006
BOOLEAN001 = 1
Continue
Endif
If ((STRING012 == 80) || (STRING012 == 112)) Then
Gosub LABEL007
BYTE007 = 4
Gosub LABEL006
Delay 5
If (Exist(STRING011)) Then
Call STRING011
Goto LABEL002
Endif
Newline
:LABEL002
Gosub LABEL004
Gosub LABEL006
Continue
Endif
If ((STRING012 == 81) || (STRING012 == 113)) Then
Gosub LABEL007
BYTE007 = 5
Gosub LABEL006
BOOLEAN001 = 1
Continue
Endif
If (STRING012 == 27) Then
Gosub LABEL007
BYTE007 = 5
Gosub LABEL006
BOOLEAN001 = 1
Endif
EndWhile
Gosub LABEL005
Return
:LABEL003
Newline
If (Exist(PPEPath() + "678HELP.PCB")) Then
DispFile PPEPath() + "678HELP.PCB", 0
Else
PrintLn "@X0CSorry, no help is available."
Endif
Gosub LABEL004
Gosub LABEL006
Return
:LABEL004
Print ReadLine(PPEPath() + "678.CFG", 1)
BYTE001 = GetY()
BYTE002 = GetX()
Print STRING001 + " "
BYTE003 = GetX()
Print STRING002 + " "
BYTE004 = GetX()
Print STRING003 + " "
BYTE005 = GetX()
Print STRING004 + " "
BYTE006 = GetX()
Print STRING005
Return
:LABEL005
Select Case (BYTE007)
Case 1
Gosub LABEL003
Case 2
Newline
KbdStuff "D"
End
Case 3
Newline
KbdStuff "U"
End
Case 4
If (Exist(STRING011)) Then
Call STRING011
Else
Newline
Endif
Gosub LABEL004
Gosub LABEL006
Case 5
Newline
KbdStuff Chr(13)
End
End Select
Return
:LABEL006
Select Case (BYTE007)
Case 1
Print Chr(13)
Forward BYTE002 - 1
Print STRING006
Case 2
Print Chr(13)
Forward BYTE003 - 1
Print STRING007
Case 3
Print Chr(13)
Forward BYTE004 - 1
Print STRING008
Case 4
Print Chr(13)
Forward BYTE005 - 1
Print STRING009
Case 5
Print Chr(13)
Forward BYTE006 - 1
Print STRING010
End Select
Return
:LABEL007
Select Case (BYTE007)
Case 1
Print Chr(13)
Forward BYTE002 - 1
Print STRING001
Case 2
Print Chr(13)
Forward BYTE003 - 1
Print STRING002
Case 3
Print Chr(13)
Forward BYTE004 - 1
Print STRING003
Case 4
Print Chr(13)
Forward BYTE005 - 1
Print STRING004
Case 5
Print Chr(13)
Forward BYTE006 - 1
Print STRING005
End Select
Return
:LABEL008
STRING011 = ReadLine(PPEPath() + "678.CFG", 2)
STRING001 = ReadLine(PPEPath() + "678.CFG", 3)
STRING002 = ReadLine(PPEPath() + "678.CFG", 4)
STRING003 = ReadLine(PPEPath() + "678.CFG", 5)
STRING004 = ReadLine(PPEPath() + "678.CFG", 6)
STRING005 = ReadLine(PPEPath() + "678.CFG", 7)
STRING006 = ReadLine(PPEPath() + "678.CFG", 8)
STRING007 = ReadLine(PPEPath() + "678.CFG", 9)
STRING008 = ReadLine(PPEPath() + "678.CFG", 10)
STRING009 = ReadLine(PPEPath() + "678.CFG", 11)
STRING010 = ReadLine(PPEPath() + "678.CFG", 12)
Return
:LABEL009
BYTE007 = TokCount()
If (BYTE007) Then
STRING012 = ""
While (BYTE007 > 0) Do
STRING012 = STRING012 + GetToken() + " "
Dec BYTE007
EndWhile
KbdStuff STRING012
End
Endif
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 5 End
; 55 Goto
; 35 Let
; 26 Print
; 1 PrintLn
; 32 If
; 1 DispFile
; 30 Gosub
; 8 Return
; 1 Delay
; 1 Inc
; 2 Dec
; 6 Newline
; 4 KbdStuff
; 2 Call
; 10 Forward
;
;
; ■ Functions used :
;
; 20 +
; 10 -
; 32 ==
; 1 <
; 2 >
; 30 !
; 7 ||
; 11 Chr()
; 1 Asc()
; 1 Inkey()
; 14 PPEPath()
; 12 ReadLine()
; 1 GetToken()
; 3 Exist()
; 5 GetX()
; 1 GetY()
; 1 TokCount()
;
;------------------------------------------------------------------------------
;
; Analysis flags : C
;
; C - Call child PPE ■ 3
; This is usually normal, but may be a tricky way to launch some
; sysop-only commands.
; ■ Search for : CALL
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 0 For/Next
; 2 While/EndWhile
; 13 If/Then or If/Then/Else
; 3 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------